﻿using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using FrameworkManapro.BusinessModel;

namespace GMAC.ReportingSystem.Business.Entities
{
    /// <summary>
    /// Clase usada para reprsentar los registros de la tabla [LaoSalvageAccounts]
    /// que se usada para la carga masiva de datos de las cuentas en estatus PÉRDIDA de LAO SALVAGE
    /// </summary>
    //[DbProcedures(Insert = "", Update = "", Delete = "")]
    public class LaoSalvageAccount : BusinessEntity
    {
        //[EntityPrimaryKey]
        //[DbParameter(0, 1, 1)]
        /// <summary>
        /// Clave PK de la tabla
        /// </summary>
        public int ID { get; set; }

        //[DbParameter(1, 2, 0)]
        //[TableColumn]
        /// <summary>
        /// Fecha en la que se realizo la carga
        /// </summary>
        public DateTime LoadDate { get; set; }

        //[DbParameter(1, 2, 0)]
        //[TableColumn]
        /// <summary>
        /// Número de cuenta
        /// </summary>
        public string AccountNumber { get; set; }

        //[DbParameter(1, 2, 0)]
        //[TableColumn]
        /// <summary>
        /// Código del Estatus
        /// </summary>
        public string AccountStatusCode { get; set; }

        //[DbParameter(1, 2, 0)]
        //[TableColumn]
        /// <summary>
        /// Fecha que pasó a ese estatus
        /// </summary>
        public DateTime AccountStatusDate { get; set; }

        //[DbParameter(1, 2, 0)]
        //[TableColumn]
        /// <summary>
        /// Nombre del Dealer
        /// </summary>
        public string DealerName { get; set; }

        //[DbParameter(1, 2, 0)]
        //[TableColumn]
        /// <summary>
        /// Código del Dealer
        /// </summary>
        public string DealerNumber { get; set; }

        //[DbParameter(1, 2, 0)]
        //[TableColumn]
        /// <summary>
        /// Nombre del Field Rep o Representante Legal
        /// </summary>
        public string ThirdPartyName { get; set; }

        //[DbParameter(1, 2, 0)]
        //[TableColumn]
        /// <summary>
        /// Código que indica que tipo de Field Rep es.
        /// </summary>
        public string ThirdPartyTypeCode { get; set; }

        //[DbParameter(1, 2, 0)]
        //[TableColumn]
        /// <summary>
        /// Monto
        /// </summary>
        public decimal CurrentTotalAmount { get; set; }

        /// <summary>
        /// Descripcion de las razon de rechazo del registro
        /// </summary>
        public string RejectionReason { get; set; }

    } // class

    /// <summary>
    /// Colecion de LaoSalvageAccount
    /// </summary>
    public class LaoSalvageAccountCollection : List<LaoSalvageAccount>
    { }

} // namespace
